#include <iostream>
#include <vector>
#include <algorithm>
#include <string>

using namespace std;

class Solution {
public:
    int maximumRequests(int n, vector<vector<int>>& requests) {
        int ret = 0;
        int len = requests.size();
        int num = (1 << len) + 1;
        for (int idx = 0; idx < num; idx++) {
            if (GetBitCount(idx) < ret) {
                continue;
            }

            if (isValid(n, len, requests)) {
                ret = GetBitCount(idx);
            }
        }
        return ret;
    }

    int GetBitCount(int s)
    {   
        int ans = 0;
        int tmp = s;
        for (int tmp = 0; tmp > 0; tmp -= tmp & (-tmp))
        {
            ans++;
        }
        return ans;
    }

    bool isValid(int n, int len, const vector<vector<int>>& requests)
    {
        vector<int> arr(n, 0);
        for (int loop = 0; loop < len; loop++) {
            arr[requests[loop][0]]++;
            arr[requests[loop][1]]++;
        }

        for (int loop = 0; loop < n; loop++) {
            if (arr[loop] != 0) {
                return false;
            }
        }
        return true;
    }
};

int main()
{
    Solution s;
    vector<vector<int>> vt{{1,1},{1,0},{0,1},{0,0},{0,0},{0,1},{0,1},{1,0},{1,0},{1,1},{0,0},{1,0}};
    int ret = s.maximumRequests(2, vt);
    cout << ret << endl;

    return 0;
}